diff options
Diffstat (limited to 'app/about/[name]/page.tsx')
-rw-r--r-- | app/about/[name]/page.tsx | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/app/about/[name]/page.tsx b/app/about/[name]/page.tsx new file mode 100644 index 0000000..625af62 --- /dev/null +++ b/app/about/[name]/page.tsx @@ -0,0 +1,34 @@ +import Markdown from "markdown-to-jsx"; +import { notFound } from "next/navigation"; + +import InfoBar from "~/components/InfoBar"; + +import styles from "~/styles/index.module.css" +import system from "~/config/system.json" + +export default function MemberPage({ params: { name } }) { + const member = system.members.find(member => member.name.toLowerCase() === name) + + if (!member) notFound() + + return ( + <> + <main className="mainColumn"> + <InfoBar memberName={member.name} /> + <p>{member.bioShort}</p> + <Markdown>{member.bioContinued}</Markdown> + {member.bioFields?.length && ( + + <div className={styles.glance}> + {member.bioFields.map(({ name, value }) => ( + <> + <span className={styles.label}>{name}</span> + <span>{value}</span> + </> + ))} + </div> + )} + </main > + </> + ) +} |